Part Number Hot Search : 
CX201 N5402 EM91450A SMCJ54 TC514 10NC60KD 152M10 F0805
Product Description
Full Text Search
 

To Download AT91SAM9G4510 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  note: this is a summary document. the complete document is available under nda. for more information, please contact your local atmel sales office. features ? 400 mhz arm926ej-s? arm? thumb? processor ? 32 kbytes data cache, 32 kbytes instruction cache, mmu ? memories ? ddr2 controller 4-bank ddr2/lpddr, sdram/lpsdr ? external bus interface sup porting 4-bank ddr2/lpddr, sdram/lpsdr, static memories, compactflash, slc nand flash with ecc ? one 64-kbyte internal sram , single-cycle access at system speed or processor speed through tcm interface ? one 64-kbyte internal rom, embedding bootstrap routine ? peripherals ? lcd controller supporting stn and tft displays up to 1280*860 ? itu-r bt. 601/656 image sensor interface ? usb device high speed, us b host high speed and usb ho st full speed with on- chip transceiver ? 10/100 mbps ethern et mac controller ? two high speed memory card hosts (sdio, sdcard, mmc) ? ac'97 controller ? two master/slave serial peripheral interfaces ? two three-channel 16-bit timer/counters ? two synchronous serial controllers (i2s mode) ? four-channel 16-bit pwm controller ? two two-wire interfaces ? four usarts with iso7816, irda, manchester and spi modes ? 8-channel 10-bit adc with 4-wire touch screen support ? system ? 133 mhz twelve 32-bit layer ahb bus matrix ? 37 dma channels ? boot from nand flash, sdcard, dataflash? or serial dataflash ? reset controller with on-chip power-on reset ? selectable 32768 hz low-power and 12 mhz crystal oscillators ? internal low-power 32 khz rc oscillator ? one pll for the system and one 480 mhz pll optimized for usb high speed ? two programmable exte rnal clock signals ? advanced interrupt controller and debug unit ? periodic interval timer, watchdog timer, real time timer and real time clock ? i/o ? five 32-bit parallel input/output controllers ? 160 programmable i/o lines multiplexed with up to two peripheral i/os with schmitt trigger input ? package ? 324-ball tfbga, pitch 0.8 mm at91 arm thumb-based microcontrollers at91sam9g45 preliminary summary 6438es?atarm?21-jun-10
2 6438es?atarm?21-jun-10 at91sam9g45 1. description the arm926ej-s based at91sam9g45 features the frequently demanded combination of user interface functionality and high data rate connecti vity, including lcd controller, resistive touch- screen, camera interface, audio, ethernet 10/100 and high speed usb and sdio. with the pro- cessor running at 400mhz and multiple 100+ m bps data rate peripherals, the at91sam9g45 has the performance and bandwidth to the network or local storage media to provide an ade- quate user experience. the at91sam9g45 supports the latest generation of ddr2 and nand flash memory inter- faces for program and data storage. an internal 133 mhz multi-layer bus architecture associated with 37 dma channels, a dual external bus interface and distributed memory including a 64- kbyte sram which can be configured as a tightly coupled memory (tcm) sustains the high bandwidth required by the processor and the high speed peripherals. the i/os support 1.8v or 3.3v operation, which are independently configurable for the memory interface and peripheral i/os. this feature completely eliminates the need for any external level shifters. in addition it supports 0.8 ball pitch package for low cost pcb manufacturing. the at91sam9g45 power management controller features efficient clock gating and a battery backup section minimizing power cons umption in active and standby modes.
3 6438es?atarm?21-jun-10 at91sam9g45 2. block diagram figure 2-1. at91sam9g45 block diagram aic apb plla system controller pmc pllutmi pit wdt rtt osc 32k shdc rstc por dbgu pdc 4 gpbr static memory controller cf twi0 twi1 usart0 usart1 usart2 usart3 pdc pdc 4-ch pwm tc0 tc1 tc2 peripheral dma controller peripheral bridge rom 64kb osc12m pdc piob multi-layer ahb matrix por pioc rtc rc piod hs transceiver hs transceiver ddr2 lpddr 8-ch 10bit adc touchscreen ac97 pdc pdc ssc0 ssc1 pio pio pio nand flash controller ecc arm926ej-s jtag / boundary scan in-circuit emulator mmu bus interface id icache 32 kbytes dcache 32 kbytes pioe pioa ddr2/ lpddr/ sdram controller fifo dtcm sram 64kb itcm ddr_d0-ddr_d15 ddr_a0-ddr_a13 ddr_cs ddr_cke ddr_ras, ddr_cas ddr_clk,#ddr_clk ddr_dqs[0..1] ddr_dqm[0..1] ddr_vref ddr_we ddr_ba0, ddr_ba1 d0-d15 a0/nbs0 a2-a15, a18 a16/ba0 a17/ba1 ncs0 ncs1/sdcs nrd nwr0/nwe nwr1/nbs1 nwr3/nbs3 sdck, #sdck, sdcke ras, cas sdwe, sda10 a1/nbs2/nwr2 nandoe, nandwe a19-a24 ncs5/cfcs1 a25/cfrnw ncs4/cfcs0 nwait cfce1-cfce2 ncs2 ncs3/nandcs d16-d31 npcs2 npcs1 spck mosi miso npcs0 npcs3 ac97ck ac97fs ac97rx ac97tx tsadtrig gpad4-gpad7 ad0xp ad1xm ad2yp gndan vddana tsadvref ad3ym tk0-tk1 tf0-tf1 td0-td1 rd0-rd1 rf0-rf1 rk0-rk1 tclk0-tclk2 tioa0-tioa2 tiob0-tiob2 pwm0-pwm3 spi0_, spi1_ ssc0_, ssc1_ rts0-rts3 sck0-sck3 txd0-txd3 rdx0-rdx3 cts0-cts3 twck0-twck1 twd0-twd1 mci0_ck,mci1_ck mci0_da0-mci0_da7 mci0_cda,mci1_cda isi_pck isi_do-isi_d11 isi_hsync lcdd0-lcdd23 lcdvsync,lcdhsync lcddotck ldden,lcdcc lcdpwr, lcdmod vbg isi_vsync isi_mck dfsdp/hfsdpb,dfsdm/hfsdmb dhsdp/hhsdpb,dhsdm/hhsdmb hfsdpa,hfsdma hhsdpa,hhsdma etxck-erxck etxen-etxer ecrs-ecol erxer-erxdv erx0-erx3 etx0-etx3 emdc emdio tdi ntrst tdo tms tck jtagsel rtck bms lcd dma dma dma dma isi dma emac 8-ch dma fiq irq drxd dtxd pck0-pck1 vddbu shdn wkup xin nrst xout xin32 xout32 vddcore tst dqm[0..1] dqs[0..1] trng dqm[2..3] mci1_da0-mci1_da7 tc3 tc4 tc5 tclk3-tclk5 tioa3-tioa5 tiob3-tiob5 ebi spi0 spi1 hs ehci usb host pa p b hs usb mci0/mci1 sd/sdio ce ata
4 6438es?atarm?21-jun-10 at91sam9g45 3. signal description table 3-1 gives details on the signal names classified by peripheral. table 3-1. signal description list signal name function type active level reference voltage comments power supplies vddiom0 ddr2 i/o lines power supply power 1.65v to 1.95v vddiom1 ebi i/o lines power supply po wer 1.65v to 1.95v or 3.0v to3.6v vddiop0 peripherals i/o lines power supply power 1.65v to 3.6v vddiop1 peripherals i/o lines power supply power 1.65v to 3.6v vddiop2 isi i/o lines power supply power 1.65v to 3.6v vddbu backup i/o lines power supply power 1.8v to 3.6v vddana analog power supply power 3.0v to 3.6v vddplla plla power supply power 0.9v to 1.1v vddpllutmi pllutmi power supply power 0.9v to 1.1v vddosc oscillator power supply power 1.65v to 3.6v vddcore core chip power supply power 0.9v to 1.1v vddutmic udphs and uhphs utmi+ core power supply power 0.9v to 1.1v vddutmii udphs and uhphs utmi+ interface power supply power 3.0v to 3.6v gndiom ddr2 and ebi i/o lines ground ground gndiop peripherals and isi i/o lines ground ground gndcore core chip ground ground gndosc plla, pllutmi and oscillator ground ground gndbu backup ground ground gndutmi udphs and uhphs utmi+ core and interface ground ground gndana analog ground ground clocks, oscillators and plls xin main oscillator input input xout main oscillator output output xin32 slow clock oscillator input input xout32 slow clock oscillator output output vbg bias voltage reference for usb analog pck0 - pck1 programmabl e clock output output (1)
5 6438es?atarm?21-jun-10 at91sam9g45 shutdown, wakeup logic shdn shut-down control output vddbu driven at 0v only. 0: the device is in backup mode 1: the device is running (not in backup mode). wkup wake-up input input vddbu accept between 0v and vddbu. ice and jtag tck test clock input vddiop0 no pull-up resistor, schmitt trigger tdi test data in input vddiop0 no pull-up resistor, schmitt trigger tdo test data out output vddiop0 tms test mode select input vddiop0 no pull-up resistor, schmitt trigger jtagsel jtag selection input vddbu pull-down resistor (15 k ). rtck return test clock output vddiop0 reset/test nrst microcontroller reset (2) i/o low vddiop0 open-drain output, pull-up resistor (100 k ), schmitt trigger tst test mode select input vddbu pull-down resistor (15 k ), schmitt trigger ntrst test reset signal input vddiop0 pull-up resistor (100 k ), schmitt trigger bms boot mode select input vddiop0 must be connected to gnd or vddiop. debug unit - dbgu drxd debug receive data input (1) dtxd debug transmit data output (1) advanced interrupt controller - aic irq external interrupt input input (1) fiq fast interrupt input input (1) pio controller - pioa- piob - pioc - piod - pioe pa0 - pa31 parallel io controller a i/o (1) pulled-up input at reset (100k ) (3) , schmitt trigger pb0 - pb31 parallel io controller b i/o (1) pulled-up input at reset (100k ) (3) , schmitt trigger table 3-1. signal description list (continued) signal name function type active level reference voltage comments
6 6438es?atarm?21-jun-10 at91sam9g45 pc0 - pc31 parallel io controller c i/o (1) pulled-up input at reset (100k ) (3) , schmitt trigger pd0 - pd31 parallel io controller d i/o (1) pulled-up input at reset (100k ) (3) , schmitt trigger pe0 - pe31 parallel io controller e i/o (1) pulled-up input at reset (100k ) (3) , schmitt trigger ddr memory interface- dd r2/sdram/lpddr controller ddr_d0 - ddr_d15 data bus i/o vddiom0 pulled-up input at reset ddr_a0 - ddr_a13 address bus output vddiom0 0 at reset ddr_clk- #ddr_clk ddr differential clock input output vddiom0 ddr_cke ddr clock enable output high vddiom0 ddr_cs ddr chip select output low vddiom0 ddr_we ddr write enable output low vddiom0 ddr_ras- ddr_cas row and column signal output low vddiom0 ddr_dqm[0..1] write data mask output vddiom0 ddr_dqs[0..1] data st robe output vddiom0 ddr_ba0 - ddr_ba1 bank select output vddiom0 ddr_vref reference voltage input vddiom0 external bus interface - ebi d0 -d31 data bus i/o vddiom1 pulled-up input at reset a0 - a25 address bus output vddiom1 0 at reset nwait external wait signal input low vddiom1 static memory controller - smc ncs0 - ncs5 chip select lines output low vddiom1 nwr0 - nwr3 write signal output low vddiom1 nrd read signal output low vddiom1 nwe write enable output low vddiom1 nbs0 - nbs3 byte mask signal output low vddiom1 compactflash support cfce1 - cfce2 compactflash ch ip enable output low vddiom1 cfoe compactflash output enable output low vddiom1 cfwe compactflash write enable output low vddiom1 cfior compactflash io read output low vddiom1 table 3-1. signal description list (continued) signal name function type active level reference voltage comments
7 6438es?atarm?21-jun-10 at91sam9g45 cfiow compactflash io write output low vddiom1 cfrnw compactflash read not write output vddiom1 cfcs0 -cfcs1 compactflash chip select lines output low vddiom1 nand flash support nandcs nand flash chip select output low vddiom1 nandoe nand flash output enable output low vddiom1 nandwe nand flash write enable output low vddiom1 ddr2/sdram/lpddr controller sdck,#sdck ddr2/sdram differential clock output vddiom1 sdcke ddr2/sdram clock enable output high vddiom1 sdcs ddr2/sdram controller chip select output low vddiom1 ba0 - ba1 bank select output vddiom1 sdwe ddr2/sdram write enable output low vddiom1 ras - cas row and column signal output low vddiom1 sda10 sdram address 10 line output vddiom1 dqs[0..1] data strobe output vddiom1 dqm[0..3] write data mask output vddiom1 high speed multimedia card interface - hsmcix mcix_ck multimedia card clock i/o (1) mcix_cda multimedia card slot a command i/o (1) mcix_da0 - mcix_da7 multimedia card slot a data i/o (1) universal synchronous asynchronous receiver transmitter - usartx sckx usartx serial clock i/o (1) txdx usartx transmit data output (1) rxdx usartx receive data input (1) rtsx usartx request to send output (1) ctsx usartx clear to send input (1) synchronous serial controller - sscx tdx ssc transmit data output (1) rdx ssc receive data input (1) tkx ssc transmit clock i/o (1) rkx ssc receive clock i/o (1) tfx ssc transmit frame sync i/o (1) rfx ssc receive frame sync i/o (1) table 3-1. signal description list (continued) signal name function type active level reference voltage comments
8 6438es?atarm?21-jun-10 at91sam9g45 ac97 controller - ac97c ac97rx ac97 receive signal input (1) ac97tx ac97 transmit signal output (1) ac97fs ac97 frame synchronization signal output (1) ac97ck ac97 clock signal input (1) time counter - tcx tclkx tc channel x external clock input input (1) tioax tc channel x i/o line a i/o (1) tiobx tc channel x i/o line b i/o (1) pulse width modulation controller - pwm pwmx pulse width modulation output output (1) serial peripheral interface - spix_ spix_miso master in slave out i/o (1) spix_mosi master out slave in i/o (1) spix_spck spi serial clock i/o (1) spix_npcs0 spi peripheral chip select 0 i/o low (1) spix_npcs1- spix_npcs3 spi peripheral chip select output low (1) two-wire interface twdx two-wire serial data i/o (1) twckx two-wire serial clock i/o (1) usb host high speed port - uhphs hfsdpa usb host port a full speed data + analog vddutmii hfsdma usb host port a full speed data - analog vddutmii hhsdpa usb host port a high speed data + analog vddutmii hhsdma usb host port a high speed data - analog vddutmii hfsdpb usb host port b full speed data + analog vddutmii multiplexed with dfsdp hfsdmb usb host port b full speed data - analog vddutmii multiplexed with dfsdm hhsdpb usb host port b high speed data + analog vddutmii multiplexed with dhsdp hhsdmb usb host port b high speed data - analog vddutmii multiplexed with dhsdm usb device high speed port - udphs dfsdm usb device full speed data - analog vddutmii dfsdp usb device full speed data + analog vddutmii dhsdm usb device high speed data - analog vddutmii dhsdp usb device high speed data + analog vddutmii table 3-1. signal description list (continued) signal name function type active level reference voltage comments
9 6438es?atarm?21-jun-10 at91sam9g45 ethernet 10/100 etxck transmit clock or reference clock input (1) mii only, refck in rmii erxck receive clock input (1) mii only etxen transmit enable output (1) etx0-etx3 transmit data output (1) etx0-etx1 only in rmii etxer transmit coding error output (1) mii only erxdv receive data valid input (1) rxdv in mii, crsdv in rmii erx0-erx3 receive data input (1) erx0-erx1 only in rmii erxer receive error input (1) ecrs carrier sense and data valid input (1) mii only ecol collision detect input (1) mii only emdc management data clock output (1) emdio management data input/output i/o (1) image sensor interface isi_d0-isi_d11 image sensor data input vddiop2 isi_mck image sensor reference clock output vddiop2 isi_hsync image sensor horizontal synchro input vddiop2 isi_vsync image sensor vertical synchro input vddiop2 isi_pck image sensor data clock input vddiop2 lcd controller - lcdc lcdd0 - lcdd23 lcd data bus output vddiop1 lcdvsync lcd vertical sync hronization output vddiop1 lcdhsync lcd horizontal synchronization output vddiop1 lcddotck lcd dot clock output vddiop1 lcdden lcd data enable output vddiop1 lcdcc lcd contrast control output vddiop1 lcdpwr lcd panel power enable control output vddiop1 lcdmod lcd modulation signal output vddiop1 touch screen analog-to-digital converter ad0x p analog input channel 0 or touch screen top channel analog vddana multiplexed with ad0 ad1x m analog input channel 1 or touch screen bottom channel analog vddana multiplexed with ad1 ad2y p analog input channel 2 or touch screen right channel analog vddana multiplexed with ad2 table 3-1. signal description list (continued) signal name function type active level reference voltage comments
10 6438es?atarm?21-jun-10 at91sam9g45 notes: 1. refer to peripheral multiplexing tables in section 9.4 ?peripheral signals multiplexing on i/o lines? for these signals. 2. when configured as an input, the nrst pin enables asynchronous reset of the device when asserted low. this allows con- nection of a simple push button on the nrst pin as a system-user reset. 3. programming of this pull-up resistor is performed independently for each i/o line through the pio controllers. after reset, a ll the i/o lines default as inputs with pull-up re sistors enabled, except those which are multiplexed with the external bus inter- face signals that require to be enabled as peripheral at reset. th is is explicitly indicated in the column ?reset state? of the peripheral multiplexing tables. ad3y m analog input channel 3 or touch screen left channel analog vddana multiplexed with ad3 gpad4-gpad7 analog inputs analog vddana tsadtrg adc trigger input vddana tsadvref adc reference analog vddana table 3-1. signal description list (continued) signal name function type active level reference voltage comments
11 6438es?atarm?21-jun-10 at91sam9g45 4. package and pinout the at91sam9g45 is delivered in a 324-ball tfbga package. 4.1 mechanical overview of t he 324-ball tfbga package figure 4-1 shows the orientation of the 324-ball tfbga package figure 4-1. orientation of the 324-ball tfbga package 1 3 4 5 6 7 8 9 101112131415 1617 218 a b c d e f g h j k l m n p r t u v bottom view
12 6438es?atarm?21-jun-10 at91sam9g45 4.2 324-ball tfbga package pinout table 4-1. at91sam9g45 pinout for 324-ball bga package pin signal name pin signal name pin signal name pin signal name a1 pc27 e10 nandwe k1 pe21 p10 tms a2 pc28 e11 dqs1 k2 pe23 p11 vddplla a3 pc25 e12 d13 k3 pe26 p12 pb20 a4 pc20 e13 d11 k4 pe22 p13 pb31 a5 pc12 e14 a4 k5 pe24 p14 ddr_d7 a6 pc7 e15 a8 k6 pe25 p15 ddr_d3 a7 pc5 e16 a9 k7 pe27 p16 ddr_d4 a8 pc0 e17 a7 k8 pe28 p17 ddr_d5 a9 nwr3/nbs3 e18 vddcore k9 vddiop0 p18 ddr_d10 a10 ncs0 f1 pd22 k10 vddiop0 r1 pa18 a11 dqs0 f2 pd24 k11 gndiom r2 pa20 a12 ras f3 shdn k12 gndiom r3 pa24 a13 sdck f4 pe1 k13 vddiom0 r4 pa30 a14 nsdck f5 pe3 k14 ddr_a7 r5 pb4 a15 d7 f6 vddiom1 k15 ddr_a8 r6 pb13 a16 ddr_vref f7 pc19 k16 ddr_a9 r7 pd0 a17 d0 f8 pc14 k17 ddr_a11 r8 pd9 a18 a14 f9 pc4 k18 ddr_a10 r9 pd18 b1 pc31 f10 ncs1/sdcs l1 pa0 r10 tdi b2 pc29 f11 nrd l2 pe30 r11 rtck b3 pc30 f12 sdwe l3 pe29 r12 pb22 b4 pc22 f13 a0/nbs0 l4 pe31 r13 pb29 b5 pc17 f14 a1/nbs2/nwr2 l5 pa2 r14 ddr_d6 b6 pc10 f15 a3 l6 pa4 r15 ddr_d1 b7 pc11 f16 a6 l7 pa8 r16 ddr_d0 b8 pc2 f17 a5 l8 pd2 r17 hhsdma b9 sda10 f18 a2 l9 pd13 r18 hfsdma b10 a17/ba1 g1 pd25 l10 pd29 t1 pa22 b11 dqm0 g2 pd23 l11 pd31 t2 pa25 b12 sdcke g3 pe6 l12 vddiom0 t3 pa26 b13 d12 g4 pe0 l13 vddiom0 t4 pb0 b14 d8 g5 pe2 l14 ddr_a1 t5 pb6 b15 d4 g6 pe8 l15 ddr_a3 t6 pb16 b16 d3 g7 pe4 l16 ddr_a4 t7 pd1 b17 a15 g8 pe11 l17 ddr_a6 t8 pd11 b18 a13 g9 gndcore l18 ddr_a5 t9 pd19 c1 xin32 g10 vddiom1 m1 pa1 t10 pd30 c2 gndana g11 vddiom1 m2 pa5 t11 bms c3 wkup g12 vddcore m3 pa6 t12 pb8 c4 pc26 g13 vddcore m4 pa7 t13 pb30 c5 pc21 g14 ddr_dqm0 m5 pa10 t14 ddr_d2 c6 pc15 g15 ddr_dqs1 m6 pa14 t15 pb21 c7 pc9 g16 ddr_ba1 m7 pb14 t16 pb23 c8 pc3 g17 ddr_ba0 m8 pd4 t17 hhsdpa c9 nwr0/nwe g18 ddr_dqs0 m9 pd15 t18 hfsdpa c10 a16/ba0 h1 pd26 m10 nrst u1 pa27 c11 cas h2 pd27 m11 pb11 u2 pa29 c12 d15 h3 vddiop1 m12 pb25 u3 pa28
13 6438es?atarm?21-jun-10 at91sam9g45 c13 d10 h4 pe13 m13 pb27 u4 pb3 c14 d6 h5 pe5 m14 vddiom0 u5 pb7 c15 d2 h6 pe7 m15 ddr_d14 u6 pb17 c16 gndiom h7 pe9 m16 ddr_d15 u7 pd7 c17 a18 h8 pe10 m17 ddr_a0 u8 pd10 c18 a12 h9 gndcore m18 ddr_a2 u9 pd14 d1 xout32 h10 gndiop n1 pa3 u10 tck d2 pd20 h11 vddcore n2 pa9 u11 vddosc d3 gndbu h12 gndiom n3 pa12 u12 gndosc d4 vddbu h13 gndiom n4 pa15 u13 pb10 d5 pc24 h14 ddr_cs n5 pa16 u14 pb26 d6 pc18 h15 ddr_we n6 pa17 u15 hhsdpb/dhsdp d7 pc13 h16 ddr_dqm1 n7 pb18 u16 hhsdmb/dhsdm d8 pc6 h17 ddr_cas n8 pd6 u17 gndutmi d9 nwr1/nbs1 h18 ddr_nclk n9 pd16 u18 vddutmic d10 nandoe j1 pe19 n10 ntrst v1 pa31 d11 dqm1 j2 pe16 n11 pb9 v2 pb1 d12 d14 j3 pe14 n12 pb24 v3 pb2 d13 d9 j4 pe15 n13 pb28 v4 pb5 d14 d5 j5 pe12 n14 ddr_d13 v5 pb15 d15 d1 j6 pe17 n15 ddr_d8 v6 pd3 d16 vddiom1 j7 pe18 n16 ddr_d9 v7 pd5 d17 a11 j8 pe20 n17 ddr_d11 v8 pd12 d18 a10 j9 gndcore n18 ddr_d12 v9 pd17 e1 pd21 j10 gndcore p1 pa11 v10 tdo e2 tsadvref j11 gndiop p2 pa13 v11 xout e3 vddana j12 gndiom p3 pa19 v12 xin e4 jtagsel j13 gndiom p4 pa21 v13 vddpllutmi e5 tst j14 ddr_a12 p5 pa23 v14 vddiop2 e6 pc23 j15 ddr_a13 p6 pb12 v15 hfsdpb/dfsdp e7 pc16 j16 ddr_cke p7 pb19 v16 hfsdmb/dfsdm e8 pc8 j17 ddr_ras p8 pd8 v17 vddutmii e9 pc1 j18 ddr_clk p9 pd28 v18 vbg table 4-1. at91sam9g45 pinout for 324-ball bga package (continued) pin signal name pin signal name pin signal name pin signal name
14 6438es?atarm?21-jun-10 at91sam9g45 5. power considerations 5.1 power supplies the at91sam9g45 has several types of power supply pins: ? vddcore pins: power the core, including the processor, the embedded memories and the peripherals; voltage ranges from 0.9v to 1.1v, 1.0v nominal. ? vddiom0 pins: power the ddr2/lpddr i/o lines; voltage ranges between 1.65v and 1.95v (1.8v typical). ? vddiom1 pins: power the external bus interface 1 i/o lines; voltage ranges between 1.65v and 1.95v (1.8v typical) or between 3.0v and 3.6v (3.3v nominal). ? vddiop0, vddiop1, vddiop2 pins: power the peripherals i/o lines; voltage ranges from 1.65v to 3.6v. ? vddbu pin: powers the slow clock oscillator, the internal rc oscilla tor and a part of the system controller; voltage ranges from 1.8v to 3.6v. ? vddpllutmi powers the pllutmi cell; voltage range from 0.9v to 1.1v. ? vddutmic pin: powers the usb device and host utmi+ core; voltage range from 0.9v to 1.1v, 1.0v nominal. ? vddutmii pin: powers the usb device and host utmi+ interface; voltage range from 3.0v to 3.6v, 3.3v nominal. ? vddplla pin: powers the plla cell; voltage ranges from 0.9v to 1.1v. ? vddosc pin: powers the main oscillator ce lls; voltage ranges from 1.65v to 3.6v ? vddana pin: powers the analog to digital converter; voltage ranges from 3.0v to 3.6v, 3.3v nominal. ground pins gnd are common to vddiom0, v ddiom1, vddiop0, vddiop1 and vddiop2 power supplies. separated ground pins are provided for vddutmic , vddutmii, vddbu, vddosc, vddplla, vddpllutmi and vddana . these ground pins are respectively gndutmic, gndutmii, gndbu, gndosc , gndplla, gndpllutmi and gndana.
15 6438es?atarm?21-jun-10 at91sam9g45 6. processor and architecture 6.1 arm926ej-s processor ? risc processor based on arm v5tej archit ecture with jazelle technology for java acceleration ? two instruction sets ? arm high-performance 32-bit instruction set ? thumb high code density 16-bit instruction set ? dsp instruction extensions ? 5-stage pipeline architecture: ? instruction fetch (f) ? instruction decode (d) ? execute (e) ? data memory (m) ? register write (w) ? 32-kbyte data cache, 32-kbyte instruction cache ? virtually-addressed 4-way associative cache ? eight words per line ? write-through and write-back operation ? pseudo-random or round-robin replacement ? write buffer ? main write buffer with 16-word data buffer and 4-address buffer ? dcache write-back buffer with 8-word entries and a single address entry ? software control drain ? standard arm v4 and v5 memory management unit (mmu) ? access permission for sections ? access permission for large pages and small pages can be specified separately for each quarter of the page ? 16 embedded domains ? bus interface unit (biu) ? arbitrates and schedules ahb requests ? separate masters for both instruction and data access providin g complete matrix system flexibility ? separate address and data buses for both the 32-bit instruction interface and the 32-bit data interface ? on address and data buses, data can be 8-bit (bytes), 16-bit (half-words) or 32-bit (words) ? tcm interface
16 6438es?atarm?21-jun-10 at91sam9g45 6.2 bus matrix ? 12-layer matrix, handling requests from 11 masters ? programmable arbitration strategy ? fixed-priority arbitration ? round-robin arbitration, either with no default master, last accessed default master or fixed default master ? burst management ? breaking with slot cycle limit support ? undefined burst length support ? one address decoder provided per master ? three different slaves may be assigned to each decoded memory area: one for internal rom boot, one for internal flash boot, one after remap ? boot mode select ? non-volatile boot memory can be internal rom or external memory on ebi_ncs0 ? selection is made by general purpose nvm bit sampled at reset ? remap command ? allows remapping of an internal sram in place of the boot non-volatile memory (rom or external flash) ? allows handling of dynamic exception vectors 6.2.1 matrix masters the bus matrix of the at91sam9g45 manages masters, thus each master can perform an access concurrently with others, depending on whether the slave it accesses is available. each master has its own decoder, which can be defined specifically for each master. in order to simplify the addressing, all the masters have the same decodings. table 6-1. list of bus matrix masters master 0 arm926 ? instruction master 1 arm926 data master 2 peripheral dma controller (pdc) master 3 usb host ohci master 4 dma master 5 dma master 6 isi controller dma master 7 lcd dma master 8 ethernet mac dma master 9 usb device high speed dma master 10 usb host high speed ehci dma
17 6438es?atarm?21-jun-10 at91sam9g45 6.2.2 matrix slaves each slave has its own arbiter, thus allowing a di fferent arbitration per slave to be programmed. 6.2.3 masters to slaves access all the masters can normally access all the slaves. however, some paths do not make sense, such as allowing access from the ethernet mac to the internal peripherals. thus, these paths are forbidden or simply not wired, and shown ?-? in the following tables. the four ddr ports are connected differen tly according to th e application device. the user can disable the ddr mult i-port in the ddr multi-port regi ster (bit ddrm p_dis) in the chip configuration user interface. ? when the ddr multi-port is enabled (ddrmp_ dis=0), the arm instruction and data are respectively connected to ddr port 0 and dd r port 1. the other ma sters share ddr port 2 and ddr port 3. ? when the ddr multi-port is disabled (ddrmp_ dis=1), ddr port 1 is dedicated to the lcd controller. the remaining masters share ddr port 2 and ddr port 3. table 6-2. list of bus matrix slaves slave 0 internal sram slave 1 internal rom usb ohci usb ehci udp high speed ram lcd user interface slave 2 ddr port 0 slave 3 ddr port 1 slave 4 ddr port 2 slave 5 ddr port 3 slave 6 external bus interface slave 7 internal peripherals
18 6438es?atarm?21-jun-10 at91sam9g45 figure 6-1. ddr multi-port lcd dma arm d ddrmp_dis ddr_s1 ddr_s2 ddr_s3 arm d arm i matrix table 6-3. at91sam9g45 masters to slav es access ddrmp_dis = 0 master 0 1 2 3 4 & 5 6 7 8 9 10 11 slave arm 926 instr. arm 926 data pdc usb host ohci dma isi dma lcd dma ethernet mac usb device hs usb host ehci reserved 0 internal sram 0 x x x x x x - x x x - 1 internal rom x x x - - - - - x - - uhp ohcixx--------- uhp ehci x x - - - - - - - - - lcd user int. x x - - - - - - - - - udphs ram x x - - - - - - - - - reservedxx--------- 2ddr port 0x---------- 3ddr port 1-x--------- 4ddr port 2- -xxxx - xxxx 5ddr port 3- -xxxxxxxx- 6 ebi x x x x x x x x x x x 7 internal periph. x x x - x - - - - - -
19 6438es?atarm?21-jun-10 at91sam9g45 table 6-5 summarizes the slave memory mapping for each connected master, depending on the remap status (rcbx bit in bus matrix ma ster remap control regi ster matrix_mrcr) and the bms state at reset. 6.3 peripheral dma controller (pdc) ? acting as one ahb bus matrix master ? allows data transfers from/to peripheral to/from any memory space without any intervention of the processor. ? next pointer support, prevents strong real-time constraints on buffer management. table 6-4. at91sam9g45 masters to slaves ac cess with ddrmp_di s = 1 (default) master 0 1 2 3 4 & 5 6 7 8 9 10 11 slave arm 926 instr. arm 926 data pdc usb host ohci dma isi dma lcd dma ethernet mac usb device hs usb host ehci reserved 0 internal sram 0 x x x x x x - x x x - 1 internal rom x x x - - - - - x - - uhp ohcixx--------- uhp ehcixx--------- lcd user int.xx--------- udphs ramxx--------- reserved xx--------- 2ddr port 0----------x 3ddr port 1------x---- 4ddr port 2 x - xxxx - xxx - 5ddr port 3 - xxxxx - xxx - 6 ebi xxxxxxxxxxx 7internal periph.xxx-x------ table 6-5. internal memory mapping master slave base address rcbx = 0 rcbx = 1 bms = 1 bms = 0 0x0000 0000 internal rom ebi ncs0 internal sram
20 6438es?atarm?21-jun-10 at91sam9g45 the peripheral dma controller handles transfer requests from the channel according to the fol- lowing priorities (low to high priorities): 6.4 usb the at91sam9g45 features usb communication ports as follows: ? 2 ports usb host full speed ohci and high speed ehci ? 1 device high speed usb host port a is directly connec ted to the first utmi transceiver. the host port b is multiplexed with the usb device high speed and connected to the second utmi port. the selection between host port b and usb device high speed is controlled by a the bit udphs enable bit located in the udphs_ctrl control register. table 6-6. peripheral dma controller instance name channel t/r dbgu transmit usart3 transmit usart2 transmit usart1 transmit usart0 transmit ac97c transmit spi1 transmit spi0 transmit ssc1 transmit ssc0 transmit tsadcc receive dbgu receive usart3 receive usart2 receive usart1 receive usart0 receive ac97c receive spi1 receive spi0 receive ssc1 receive ssc0 receive
21 6438es?atarm?21-jun-10 at91sam9g45 figure 6-2. usb selection 6.5 dma controller ?two masters ? embeds 8 channels ? 64 bytes/fifo for channel buffering ? linked list support with status write back operation at end of transfer ? word, halfword, byte transfer support. ? memory to memory transfer ? peripheral to memory ? memory to peripheral the dma controller can handle the transfer between peripherals and memory and so receives the triggers from the peripherals below. the hardware interface numbers are also given below in table 6.6 debug and test features ? arm926 real-time in-circuit emulator hs transceiver dma hs usb dma hs ehci fs ohci pa p b hs transceiver 1 0 en_udphs table 6-7. dma channel definition instance name t/r dma channel hw interface number mci0 tx/rx 0 spi0 tx 1 spi0 rx 2 spi1 tx 3 spi1 rx 4 ssc0 tx 5 ssc0 rx 6 ssc1 tx 7 ssc1 rx 8 ac97c tx 9 ac97c rx 10 mci1 tx/rx 13
22 6438es?atarm?21-jun-10 at91sam9g45 ? two real-time watchpoint units ? two independent registers: debug control register and debug status register ? test access port accessible through jtag protocol ? debug communications channel ? debug unit ?two-pin uart ? debug communication channel interrupt handling ? chip id register ? ieee1149.1 jtag boundary-scan on all digital pins .
23 6438es?atarm?21-jun-10 at91sam9g45 7. memories figure 7-1. at91sam9g45 memory mapping addre ss memory s p a ce intern a l memorie s 0x00000000 ebi chip s elect 0 0x10000000 ebi chip s elect 1 ddr s drc1 0x20000000 ebi chip s elect 2 0x30000000 ebi chip s elect 3 nandfl as h 0x40000000 ebi chip s elect 4 comp a ct fl as h s lot 0 0x50000000 ebi chip s elect 5 comp a ct fl as h s lot 1 0x60000000 ddr s drc0 chip s elect 0x70000000 undefined (a b ort) 0x80000000 intern a l peripher a l s 0xf0000000 0xffffffff intern a l memorie s boot memory 0x00000000 itcm 0x00100000 dtcm 0x00200000 s ram 0x00300000 rom 0x00400000 lcdc 23 0x00500000 udph s (dma) 0x00600000 uhp ohci 0x00700000 uhp ehci 0x00800000 re s erved 0x00900000 undefined (a b ort) 0x00a00000 0x0fffffff intern a l peripher a l s re s erved 0xf0000000 udph s 27 0xfff78000 tc0 tc0 0xfff7c000 +18 tc0 tc1 +0x40 +18 tc0 tc2 +0x80 h s mci0 11 0xfff80000 twi0 12 0xfff84000 twi1 13 0xfff88000 u s art0 7 0xfff8c000 u s art1 8 0xfff90000 u s art2 9 0xfff94000 u s art 3 10 0xfff98000 ss c0 16 0xfff9c000 ss c1 17 0xfffa0000 s pi0 14 0xfffa4000 s pi1 15 0xfffa8000 ac97c 24 0xfffac000 t s adcc 20 0xfffb0000 i s i 26 0xfffb4000 pwm 19 0xfffb8000 emac 25 0xfffbc000 re s erved 0xfffc0000 re s erved 0xfffc4000 re s erved 0xfffc8000 trng 6 0xfffcc000 h s mci1 29 0xfffd0000 tc1 tc 3 0xfffd4000 tc1 tc4 +0x40 tc1 tc5 +0x80 re s erved 0xfffd8000 s y s tem controller 0xffffc000 0xffffffff s y s tem controller re s erved 0xffff0000 ddr s drc1 0xffffe400 ddr s drc0 0xffffe600 s mc 0xffffe800 matrix 0xffffea00 dmac 21 0xffffec00 dbgu 0xffffee00 aic 0;31 0xfffff000 pioa 2 0xfffff200 piob 3 0xfffff400 pioc 4 0xfffff600 piod +5 0xfffff800 pioe +5 0xfffffa00 pmc 0xfffffc00 sysc r s tc 0xfffffd00 1 sysc s hdwc +0x10 1 sysc rtt +0x20 1 sysc pit +0x30 1 sysc wdt +0x40 1 sysc s ckcr +0x50 1 sysc gpbr +0x60 1 sysc re s erved +0x70 rtc 0xfffffdb0 re s erved 0xfffffdc0 0xffffffff offset id (+ : wired-or) peripher a l block ecc 0xffffe200
24 6438es?atarm?21-jun-10 at91sam9g45 7.1 memory mapping a first level of address decoding is performed by the ahb bus matrix, i.e., the implementation of the advanced high performance bus (ahb) for its ma ster and slave interfaces with additional features. decoding breaks up the 4 gbytes of address spac e into 16 banks of 256 mbytes. the banks 1 to 6 are directed to the ebi that associates these banks to the external chip selects ncs0 to ncs5. the bank 7 is directed to the ddrsdrc0 that associates this bank to ddr_ncs chip select and so dedicated to the 4-port ddr2/ lpddr controller. the bank 0 is reserved for the addressing of the internal memories, and a second level of decoding provides 1 mbyte of internal memory area. the bank 15 is reserved for the peripherals and provides access to the ad vanced peripheral bus (apb). other areas are unused and performing an access within them provides an abort to the master requesting such an access. 7.2 embedded memories 7.2.1 internal sram the at91sam9g45 product embeds a total of 64 kbytes high-speed sram split in 4 blocks of 16 kbytes connected to one slave of the matrix . after reset and until the remap command is performed, the four sram blocks are contiguous and only accessible at address 0x00300000. after remap, the sram also becomes available at address 0x0. figure 7-2. internal sram reset the at91sam9g45 device embeds two memory features. the processor tightly coupled mem- ory interface (tcm) that allows the processo r to access the memory up to processor speed (pck) and the interface on the ahb side allowing masters to access the memory at ahb speed (mck). a wait state is necessary to access the tcm at 400 mhz. setting the bit nws_tcm in the bus matrix tcm configuration register of the matrix inserts a wait state on the itcm and dtcm accesses. ram 64k 0x00300000 ram 64k 0x00000000 remap
25 6438es?atarm?21-jun-10 at91sam9g45 7.2.2 tcm interface on the processor side, this internal sram can be allocated to two areas. ? internal sram a is the arm926ej-s instruction tcm. the user can map this sram block anywhere in the arm926 instruction memory space using cp15 instructions and the tcr configuration register located in the chip conf iguration user interface. this sram block is also accessible by the arm926 masters and by the ahb masters through the ahb bus ? internal sram b is the arm926ej-s data tcm. the user can map this sram block anywhere in the arm926 data memory space using cp15 instructions. this sram block is also accessible by the arm926 data master and by the ahb masters through the ahb bus. ? internal sram c is only accessible by all th e ahb masters. after reset and until the remap command is performed, this sram block is accessible through the ahb bus at address 0x0030 0000 by all the ahb masters. after remap, this sram block also becomes accessible through the ahb bus at address 0x0 by the arm926 instruction and the arm926 data masters. within the 64 kbyte sram size available, the amo unt of memory assigned to each block is soft- ware programmable according to table 7-1 . 7.2.3 internal rom the at91sam9g45 embeds an internal rom, which contains the bootrom and sam-ba program. at any time, the rom is mapped at address 0x0040 0000. it is also accessible at address 0x0 (bms =1) after the reset and before the remap command. 7.2.4 boot strategies the system always boots at address 0x0. to ensure maximum boot possibilities the memory layout can be changed with two parameters. remap allows the user to layout the internal sram bank to 0x0 to ease the development. this is done by software once the system has boot. bms allows the user to lay out to 0x0, when c onvenient, the rom or an external memory. this is done by a hardware way at reset. note: all the memory blocks can always be seen at their specified base addresses that are not concerned by these parameters. the at91sam9g45 bus matrix manages a boot memory that depends on the level on the pin bms at reset. the internal memory area mapped between address 0x0 and 0x000f ffff is reserved to this effect. table 7-1. itcm and dtcm memory configuration sram a itcm size (kbytes) seen at 0x100000 through ahb sram b dtcm size (kbytes) seen at 0x200000 through ahb sram c (kbytes) seen at 0x300000 through ahb 0064 064 0 32 32 0
26 6438es?atarm?21-jun-10 at91sam9g45 if bms is detected at 1, the boot memory is the embedded rom. if bms is detected at 0, the boot memory is the memory connected on the chip select 0 of the external bus interface. 7.2.4.1 bms = 1, boot on embedded rom the system boots on boot program. ? boot on on-chip rc ? enable the 32768 hz oscillator ? auto baudrate detection ? downloads and runs an application from external storage media into internal sram ? downloaded code size depends on embedded sram size ? automatic detection of valid application ? bootloader on a non-volatile memory ? spi dataflash/serialflash c onnected on npcs0 of the spi0 ?sdcard ? nandflash ? eeprom connected on twi0 ? sam-ba boot in case no valid program is detected in external nvm, supporting ? serial communication on a dbgu ? usb device hs port 7.2.4.2 bms = 0, boot on external memory ? boot on on-chip rc ? boot with the default configuration for the static memory controller, byte select mode, 16-bit data bus, read/write controlled by chip select, allows boot on 16-bit non-volatile memory. for optimization purpose, nothing else is do ne. to speed up the boot sequence user pro- grammed software should perform a complete configuration: ? enable the 32768 hz oscillato r if best accuracy needed ? program the pmc (main oscilla tor enable or bypass mode) ? program and start the pll ? reprogram the smc setup, cycle, hold, mode timi ngs registers for ebi cs0 to adapt them to the new clock ? switch the main clock to the new value 7.3 external memories the at91sam9g45 features a multi-port ddr2 in terface and an external bus interface allow- ing to connect to a wide range of external memories and to any parallel peripheral. 7.3.1 ddrsdrc0 multi-po rt ddrsdr controller four ahb interfaces, management of all accesses maximizes memory bandwidth and mini- mizes transaction latency. ? supports ahb transfers: ? word, half word, byte access.
27 6438es?atarm?21-jun-10 at91sam9g45 ? supports ddr2, lpddr ? numerous configurations supported ? 2k, 4k, 8k, 16k row address memory parts ? ddr2 with four internal banks ? ddr2/lpddr with 16-bit data path ? one chip select for ddr2/lpddr de vice (256 mbytes address space) ? programming facilities ? multibank ping-pong access (up to 4 banks opened at same time = reduces average latency of transactions) ? timing parameters specified by software ? automatic refresh operation, refresh rate is programmable ? automatic update of ds, tcr and pasr parameters ? energy-saving capabilities ? self-refresh, power-down and deep power modes supported ? power-up initialization by software ? cas latency of 2, 3 supported ? reset function supported (ddr2) ? auto precharge command not used ? on die termination not supported ? ocd mode not supported 7.3.2 external bus interface ? integrates three external memory controllers: ? static memory controller ? ddr2/sdram controller ? slc nand flash ecc controller ? additional logic for nand flash and compactflash tm ? optional full 32-bit external data bus ? up to 26-bit address bus (up to 64mbytes linear per chip select) ? up to 6 chip selects, configurable assignment: ? static memory controller on ncs0 ? ddr2/sdram controller (sdcs) or static memory controller on ncs1 ? static memory controller on ncs2 ? static memory controller on ncs3, optional nand flash support ? static memory controller on ncs 4 - ncs5, optional compactflash m support 7.3.2.1 static memory controller ? 8-, 16- or 32-bit data bus ? multiple access modes supported ? byte write or byte select lines ? asynchronous read in page mode supported (4- up to 32-byte page size) ? multiple device adaptability
28 6438es?atarm?21-jun-10 at91sam9g45 ? control signals programmable setup, pulse and hold time for each memory bank ? multiple wait state management ? programmable wait state generation ? external wait request ? programmable data float time ? slow clock mode supported 7.3.2.2 ddr2/sdr controller ? supports ddr2/lpddr2, sdr-sdram and lpsdr ? numerous configurations supported ? 2k, 4k, 8k, 16k row address memory parts ? sdram with four internal banks ? sdr-sdram with 16- or 32- bit data path ? ddr2/lpddr with 16- bit data path ? one chip select for sdram device (256 mbyte address space) ? programming facilities ? multibank ping-pong access (up to 4 banks opened at same time = reduces average latency of transactions) ? timing parameters specified by software ? automatic refresh operation, refresh rate is programmable ? automatic update of ds, tcr and pasr parameters (lpsdr) ? energy-saving capabilities ? self-refresh, power-down and deep power modes supported ? sdram power-up initialization by software ? cas latency of 2, 3 supported ? auto precharge command not used ? sdr-sdram with 16-bit datapath and eight columns not supported ? clock frequency change in precharge power-down mode not supported 7.3.2.3 nand flash error corrected code controller ? tracking the accesses to a nand flash device by triggering on the corresponding chip select ? single bit error correction and 2-bit random detection. ? automatic hamming code calculation while writing ? ecc value available in a register ? automatic hamming code calculation while reading ? error report, including error flag, correctable error flag and word address being detected erroneous ? support 8- or 16-bit nand flash devices with 512-, 1024-, 2048- or 4096-bytes pages
29 6438es?atarm?21-jun-10 at91sam9g45 8. system controller the system controller is a set of peripherals that allows handling of key elements of the system, such as power, resets, clocks, time, interrupts, watchdog, etc. the system controller user interface also embeds the registers that configure the matrix and a set of registers for the chip configuration. the chip configuration registers configure the ebi chip select assignment and voltage range for external memories. 8.1 system controller mapping the system controller?s peripherals are all mapped within the highest 16 kbytes of address space, between addresses 0xffff e800 and 0xffff ffff. however, all the registers of the system controller are mapped on the top of the address space. all the registers of the system controller can be addressed from a single pointer by using the standard arm instruction set, as the load/store instruction have an indexing mode of 4 kb. figure 8-1 on page 30 shows the system controller block diagram. figure 7-1 on page 23 shows the mapping of the user interfaces of the system controller peripherals.
30 6438es?atarm?21-jun-10 at91sam9g45 8.2 system controller block diagram figure 8-1. at91sam9g45 system cont roller block diagram nrst slck advanced interrupt controller real-time timer periodic interval timer reset controller pa0-pa31 periph_nreset system controller watchdog timer wdt_fault wdrproc pio controllers power management controller xin xout mainck pllack pit_irq mck proc_nreset wdt_irq periph_irq[2..6] periph_nreset periph_clk[2..30] pck mck pmc_irq nirq nfiq rtt_irq embedded peripherals periph_clk[2..6] pck[0-1] in out enable arm926ej-s slck slck irq fiq irq0-irq2 fiq periph_irq[6..30] periph_irq[2..24] int int periph_nreset periph_clk[6..30] jtag_nreset por_ntrst proc_nreset periph_nreset dbgu_txd dbgu_rxd pit_irq dbgu_irq pmc_irq rstc_irq wdt_irq rstc_irq slck boundary scan tap controller jtag_nreset debug pck debug idle debug bus matrix mck periph_nreset proc_nreset backup_nreset periph_nreset idle debug unit dbgu_irq mck dbgu_rxd periph_nreset dbgu_txd rtt_alarm shut-down controller slck rtt0_alarm backup_nreset shdn wkup 4 general-purpose backup registers backup_nreset xin32 xout32 pb0-pb31 pc0-pc31 vddbu powered vddcore powered ntrst vddcore por 12mhz main osc plla vddbu por slow clock osc upll por_ntrst vddbu rtt_irq upllck usb high speed device port upllck periph_nreset periph_irq[24] rc osc pd0-pd31 sckcr pe0-pe31 real-time clock rtc_irq slck backup_nreset rtc_alarm usb high speed host port upllck periph_nreset periph_irq[25] uhp48m uhp12m uhp48m uhp12m ddr sysclk
31 6438es?atarm?21-jun-10 at91sam9g45 8.3 reset controller the reset controller is based on two power-on-reset cells, one on vddbu and one on vddcore. the reset controller is capable to return to the software the source of the last reset, either a general reset (vddbu rising), a wake-up reset (vddcore rising), a software reset, a user reset or a watchdog reset. the reset controller controls the internal resets of the system and the nrst pin output. it is capable to shape a reset signal for the external devices, simplifying to a minimum connection of a push-button on the nrst pin to implement a manual reset. the configuration of the reset controller is saved as supplied on vddbu. 8.4 shut down controller the shut down controller is supplied on vddb u and allows a software-controllable shut down of the system through the pin shdn. an input change of the wkup pin or an alarm releases the shdn pin, and thus wakes up the system power supply. 8.5 clock generator the clock generator is made up of: ? one low power 32768 hz slow clock oscillator with bypass mode ? one low-power rc oscillator ? one 12 mhz main oscillato r, which can be bypassed ? one 400 to 800 mhz programmable plla, capable to provide the clock mck to the processor and to the peripherals. this pll has an input divider to offer a wider range of output frequencies from the 12 mhz input, the only limitation being the lowest input frequency shall be higher or equal to 2 mhz. the usb device and host hs clocks are provided by a the dedicated utmi pll (upll) embedded in the utmi macro.
32 6438es?atarm?21-jun-10 at91sam9g45 figure 8-2. clock generator block diagram 8.6 slow clock selection the at91sam9g45 slow clock can be generated either by an external 32768hz crystal or the on-chip rc oscillator. the 32768 hz crystal os cillator can be bypassed, by setting the bit osc32byp, to accept an external slow clock on xin32. the internal rc oscillator and th e 32768 hz oscillator can be en abled by setting to 1 respec- tively rcen bit and osc32en bit in the system controller user interface. oscsel command selects the slow clock source. rcen, osc32en,oscsel and osc32byp bits are located in the slow clock control register (sckcr) located at address 0xfffffd50 in the backup part of the system controller and so are preserved while vddbu is present. power management controller xin xout main clock mainck control status plla and divider plla clock pllack 12m main oscillator upll on chip rc osc slow clock slck xin32 xout32 slow clock oscillator clock generator rcen upllck oscsel osc32en osc32byp
33 6438es?atarm?21-jun-10 at91sam9g45 figure 8-3. slow clock after a vddbu power on reset, the default configuration is rcen = 1, osc32en = 0 and osc- sel = 0 allowing the syst em to start on the internal rc oscillator. the programmer controls by software the slow clock switching and so must take precautions during the switching phase. 8.6.1 switch from internal rc oscillator to the 32768 hz crystal to switch from internal rc osc illator to the 32768 hz crystal, the programm er must execute the following sequence: ? switch the master clock to a source different from slow clock (plla or pllb or main oscillator) through the po wer management controller. ? enable the 32768 hz oscillator by setting the bit oscen to 1. ? wait 32768 hz startup time for clock stabilization (software loop). ? switch from internal rc to 32768 hz by setting the bit oscsel to 1. ? wait 5 slow clock cycles for internal resynchronization. ? disable the rc oscillator by setting the bit rcen to 0. 8.6.2 bypass the 32768 hz oscillator the following step must be added to bypass th e 32768 hz oscillator. ? an external clock must be connected on xin32. ? enable the bypass path osc32byp bit set to 1. ? disable the 32768 hz oscillator by setting the bit osc32en to 0. 8.6.3 switch from 32768 hz crystal to the internal rc oscillator the same procedure must be followed to switch from 32768 hz crystal to the internal rc oscillator. ? switch the master clock to a source different from slow clock (plla or pllb or main oscillator). ? enable the internal rc oscillator by setting the bit rcen to 1. ? wait internal rc startup time for clock stabilization (software loop). on chip rc osc slow clock slck xin32 xout32 slow clock oscillator clock generator osc32en rcen oscsel osc32byp
34 6438es?atarm?21-jun-10 at91sam9g45 ? switch from 32768 hz oscillato r to internal rc oscilllator by setting the bit oscsel to 0. ? wait 5 slow clock cycles for internal resynchronization. ? disable the 32768hz oscillator by setting the bit osc32en to 0. 8.7 power management controller the power management controller provides all the clock signals to the system. pmc input clocks: ? upllck: from utmi pll ? pllack from plla ? slck: slow clock from osc32k or internal rc osc ? mainck: from 12 mhz external oscillator pmc output clocks ? processor clock pck ? master clock mck, in particular to the matrix and the memory interfaces. the divider can be 1,2,3 or 4 ? ddr system clock equal to 2xmck note: ddr system clock is not available when ma ster clock (mck) equals processor clock (pck). ? usb host ehci high speed clock (upllck) ? usb ohci clocks (uhp48m and uhp12m) ? independent peripheral clocks, typically at the frequency of mck ? two programmable clock outputs: pck0 and pck1 this allows the software control of five flexible operating modes: ? normal mode, processor and peripherals running at a programmable frequency ? idle mode, processor stopped waiting for an interrupt ? slow clock mode, processor and peripherals running at low frequency ? standby mode, mix of idle and backup mode, peripheral running at low frequency, processor stopped waiting for an interrupt ? backup mode, main power supplies off, vddbu powered by a battery
35 6438es?atarm?21-jun-10 at91sam9g45 figure 8-4. at91sam9g45 power management controller block diagram 8.7.1 main application modes the power management controller provides 3 main application modes. 8.7.1.1 normal mode ? plla and upll are running respectively at 400 mhz and 480 mhz ? usb device high speed and host ehci high speed operations are allowed ? full speed ohci input clock is upllck, usbdiv is 9 (division by 10) ? system input clock is pllack, pck is 400 mhz ? mdiv is ?11?, mck is 133 mhz ? ddr2 can be used at up to 133 mhz 8.7.1.2 usb hs and lp-ddr mode ? only upll is running at 480 mhz, plla power consumption is saved ? usb device high speed and host ehci high speed operations are allowed ? full speed ohci input clock is upllck, usbdiv is 9 (division by 10) ? system input clock is upllck, prescaler is 2, pck is 240 mhz ? mdiv is ?01?, mck is 120 mhz ? only lp-ddr can be used at up to 120 mhz uhp4 8 m uhp12m s y s clk ddr mck periph_clk[..] int s lck mainck pllack pre s c a ler /1,/2,/4,.../64 pck proce ss or clock controller m as ter clock controller peripher a l s clock controller on/off /1 /2 / 3 /4 s lck mainck pre s c a ler /1,/2,/4,...,/64 progr a mm ab le clock controller pck[..] on/off upllck /1,/2 upllck u s b ohci u s bdiv+1 /4 u s b ehci u s b s divider x /1 /1.5 /2
36 6438es?atarm?21-jun-10 at91sam9g45 8.7.1.3 no udp hs, uhp fs and ddr2 mode ? only plla is running at 384 mhz, upll power consumption is saved ? usb device high speed and host ehci high speed operations are not allowed ? full speed ohci input clock is pllack, usbdiv is 7 (division by 8) ? system input clock is pllack, pck is 384 mhz ? mdiv is ?11?, mck is 128 mhz ? ddr2 can be used at up to 128 mhz 8.8 periodic interval timer ? includes a 20-bit periodic co unter, with less than 1s accuracy ? includes a 12-bit interval overlay counter ? real time os or linux/wince compliant tick generator 8.9 watchdog timer ? 16-bit key-protected only-once-programmable counter ? windowed, prevents the processor to be in a dead-lock on the watchdog access 8.10 real-time timer ? real-time timer, allowing backup of time with different accuracies ? 32-bit free-running back-up counter ? integrates a 16-bit programmable prescaler running on slow clock ? alarm register capable to generate a wake-up of the system through the shut down controller 8.11 real time clock ? low power consumption ? full asynchronous design ? two hundred year calendar ? programmable periodic interrupt ? alarm and update parallel load ? control of alarm and update time/calendar data in 8.12 general-purpose backup registers ? four 32-bit backup general-purpose registers 8.13 advanced interrupt controller ? controls the interrupt lines (nirq and nfiq) of the arm processor ? thirty-two individually maskable and vectored interrupt sources ? source 0 is reserved for the fast interrupt input (fiq) ? source 1 is reserved for system peripherals (pit, rtt, pmc, dbgu, etc.) ? programmable edge-triggered or level-sensitive internal sources ? programmable positive/negative edge-triggered or high/low level-sensitive
37 6438es?atarm?21-jun-10 at91sam9g45 ? one external sources plus the fast interrupt signal ? 8-level priority controller ? drives the normal interrupt of the processor ? handles priority of the interrupt sources 1 to 31 ? higher priority interrupts can be served during service of lower priority interrupt ? vectoring ? optimizes interrupt service routine branch and execution ? one 32-bit vector register per interrupt source ? interrupt vector register reads the corresponding current interrupt vector ?protect mode ? easy debugging by preventing automatic operations when protect modes are enabled ?fast forcing ? permits redirecting any normal interrupt source on the fast interrupt of the processor 8.14 debug unit ? composed of two functions ?two-pin uart ? debug communication channel (dcc) support ?two-pin uart ? implemented features are 100% compatible with the standard atmel usart ? independent receiver and transmitter with a common programmable baud rate generator ? even, odd, mark or space parity generation ? parity, framing and overrun error detection ? automatic echo, local loopback and remote loopback channel modes ? support for two pdc channels with connection to receiver and transmitter ? debug communication channel support ? offers visibility of and interrupt trigge r from commrx and commtx signals from the arm processor?s ice interface 8.15 chip identification the at91sam9g45 chip id is defined in the debu g unit chip id regist er and debug unit chip id extension register. ? chip id: 0x819b05a2 ? ext id: 0x00000004 ? jtag id: 05b2_703f ? arm926 tap id: 0x0792603f
38 6438es?atarm?21-jun-10 at91sam9g45 8.16 pio controllers ? 5 pio controllers, pioa, piob, pioc, piod and pioe, controlling a maximum of 160 i/o lines ? each pio controller controls up to 32 programmable i/o lines ? pioa has 32 i/o lines ? piob has 32 i/o lines ? pioc has 32 i/o lines ? piod has 32 i/o lines ? pioe has 32 i/o lines ? fully programmable through set/clear registers ? multiplexing of two peripheral functions per i/o line ? for each i/o line (whether assigned to a peripheral or used as general purpose i/o) ? input change interrupt ? glitch filter ? multi-drive option enables driving in open drain ? programmable pull up on each i/o line ? pin data status register, supplies visib ility of the level on the pin at any time ? synchronous output, provides set and clear of several i/o lines in a single write
39 6438es?atarm?21-jun-10 at91sam9g45 9. peripherals 9.1 peripheral mapping as shown in figure 7-1 , the peripherals are mapped in the upper 256 mbytes of the address space between the addresses 0xfff7 8000 and 0xfffc ffff. each user peripheral is allocated 16k bytes of address space. 9.2 peripheral identifiers table 9-1 defines the peripheral identifiers of the at91sam9g45. a peripheral identifier is required for the control of the peripheral interrupt with the advanced interrupt controller and for the control of the peripheral clock with the power management controller. table 9-1. at91sam9g45 peripheral identifiers peripheral id peripheral mnemonic peripheral name external interrupt 0aic advanced interrupt controller fiq 1sysc system controller interrupt 2pioa parallel i/o controller a, 3 piob parallel i/o controller b 4 pioc parallel i/o controller c 5 piod/pioe parallel i/o controller d/e 6 trng true random number generator 7us0 usart 0 8us1 usart 1 9us2 usart 2 10 us3 usart 3 11 mci0 high speed multimedia card interface 0 12 twi0 two-wire interface 0 13 twi1 two-wire interface 1 14 spi0 serial peripheral interface 15 spi1 serial peripheral interface 16 ssc0 synchronous serial controller 0 17 ssc1 synchronous serial controller 1 18 tc0..tc5 timer counter 0,1,2,3,4,5 19 pwm pulse width modulation controller 20 tsadcc touch screen adc controller 21 dma dma controller 22 uhphs usb host high speed 23 lcdc lcd controller 24 ac97c ac97 controller 25 emac ethernet mac 26 isi image sensor interface 27 udphs usb device high speed 29 mci1 high speed multimedia card interface 1 30 reserved 31 aic advanced interrupt controller irq
40 6438es?atarm?21-jun-10 at91sam9g45 9.3 peripheral interr upts and clock control 9.3.1 system interrupt the system interrupt in source 1 is the wired-or of the interrupt signals coming from: ? the ddr2/lpddr controller ? the debug unit ? the periodic interval timer ? the real-time timer ? the real-time clock ? the watchdog timer ? the reset controller ? the power management controller the clock of these peripherals cannot be deacti vated and peripheral id 1 can only be used within the advanced interrupt controller. 9.3.2 external interrupts all external interrupt signals, i.e., the fast interr upt signal fiq or the interrupt signal irq, use a dedicated peripheral id. however, there is no clock control associated with these peripheral ids. 9.4 peripheral signals mu ltiplexing on i/o lines the at91sam9g45 features 5 pio controllers, pioa, piob, pioc, piod and pioe, which mul- tiplexes the i/o lines of the peripheral set. each pio controller controls up to 32 lines. each line can be assigned to one of two peripheral functions, a or b. the multiplexing tables in the following paragraphs define how the i/o lines of the peripherals a and b are multiplexed on the pio controllers. the two columns ?function? and ?comments? have been inserted in this table for the user?s own comments; they may be used to track how pins are defined in an application. note that some peripheral function which are output only, might be duplicated within the both tables. the column ?reset state? indicates whether the pio line resets in i/o mode or in peripheral mode. if i/o is mentioned, the pio line resets in input with the pull-up enabled, so that the device is maintained in a static state as soon as the reset is released. as a result, the bit corre- sponding to the pio line in the register pio_ psr (peripheral status register) resets low. if a signal name is mentioned in the ?reset stat e? column, the pio line is assigned to this func- tion and the corresponding bit in pio_psr resets high. this is the case of pins controlling memories, in particular the address lines, which requ ire the pin to be driven as soon as the reset is released. note that the pull-up resistor is also enabled in this case. to amend emc, programmable delay has been inserted on pio lines able to run at high speed.
41 6438es?atarm?21-jun-10 at91sam9g45 9.4.1 pio controller a multiplexing table 9-2. multiplexing on pi o controller a (pioa) i/o line peripheral a peripheral b reset state power supply function comments pa0 mci0_ck tclk3 i/o vddiop0 pa1 mci0_cda tioa3 i/o vddiop0 pa2 mci0_da0 tiob3 i/o vddiop0 pa3 mci0_da1 tckl4 i/o vddiop0 pa4 mci0_da2 tioa4 i/o vddiop0 pa5 mci0_da3 tiob4 i/o vddiop0 pa6 mci0_da4 etx2 i/o vddiop0 pa7 mci0_da5 etx3 i/o vddiop0 pa8 mci0_da6 erx2 i/o vddiop0 pa9 mci0_da7 erx3 i/o vddiop0 pa10 etx0 i/o vddiop0 pa11 etx1 i/o vddiop0 pa12 erx0 i/o vddiop0 pa13 erx1 i/o vddiop0 pa14 etxen i/o vddiop0 pa15 erxdv i/o vddiop0 pa16 erxer i/o vddiop0 pa17 etxck i/o vddiop0 pa18 emdc i/o vddiop0 pa19 emdio i/o vddiop0 pa20 twd0 i/o vddiop0 pa21 twck0 i/o vddiop0 pa22 mci1_cda sck3 i/o vddiop0 pa23 mci1_da0 rts3 i/o vddiop0 pa24 mci1_da1 cts3 i/o vddiop0 pa25 mci1_da2 pwm3 i/o vddiop0 pa26 mci1_da3 tiob2 i/o vddiop0 pa27 mci1_da4 etxer i/o vddiop0 pa28 mci1_da5 erxck i/o vddiop0 pa29 mci1_da6 ecrs i/o vddiop0 pa30 mci1_da7 ecol i/o vddiop0 pa31 mci1_ck pck0 i/o vddiop0
42 6438es?atarm?21-jun-10 at91sam9g45 9.4.2 pio controller b multiplexing table 9-3. multiplexing on pi o controller b (piob) i/o line peripheral a peripheral b reset state power supply function comments pb0 spi0_miso i/o vddiop0 pb1 spi0_mosi i/o vddiop0 pb2 spi0_spck i/o vddiop0 pb3 spi0_npcs0 i/o vddiop0 pb4 txd1 i/o vddiop0 pb5 rxd1 i/o vddiop0 pb6 txd2 i/o vddiop0 pb7 rxd2 i/o vddiop0 pb8 txd3 isi_d8 i/o vddiop2 pb9 rxd3 isi_d9 i/o vddiop2 pb10 twd1 isi_d10 i/o vddiop2 pb11 twck1 isi_d11 i/o vddiop2 pb12 drxd i/o vddiop0 pb13 dtxd i/o vddiop0 pb14 spi1_miso i/o vddiop0 pb15 spi1_mosi cts0 i/o vddiop0 pb16 spi1_spck sck0 i/o vddiop0 pb17 spi1_npcs0 rts0 i/o vddiop0 pb18 rxd0 spi0_npcs1 i/o vddiop0 pb19 txd0 spi0_npcs2 i/o vddiop0 pb20 isi_d0 i/o vddiop2 pb21 isi_d1 i/o vddiop2 pb22 isi_d2 i/o vddiop2 pb23 isi_d3 i/o vddiop2 pb24 isi_d4 i/o vddiop2 pb25 isi_d5 i/o vddiop2 pb26 isi_d6 i/o vddiop2 pb27 isi_d7 i/o vddiop2 pb28 isi_pck i/o vddiop2 pb29 isi_vsync i/o vddiop2 pb30 isi_hsync i/o vddiop2 pb31 isi_mck pck1 i/o vddiop2
43 6438es?atarm?21-jun-10 at91sam9g45 9.4.3 pio controller c multiplexing table 9-4. multiplexing on pi o controller c (pioc) i/o line peripheral a peripheral b reset state power supply function comments pc0 dqm2 dqm2 vddiom1 pc1 dqm3 dqm3 vddiom1 pc2 a19 a19 vddiom1 pc3 a20 a20 vddiom1 pc4 a21/nandale a21 vddiom1 pc5 a22/nandcle a22 vddiom1 pc6 a23 a23 vddiom1 pc7 a24 a24 vddiom1 pc8 cfce1 i/o vddiom1 pc9 cfce2 rts2 i/o vddiom1 pc10 ncs4/cfcs0 tclk2 i/o vddiom1 pc11 ncs5/cfcs1 cts2 i/o vddiom1 pc12 a25/cfrnw a25 vddiom1 pc13 ncs2 i/o vddiom1 pc14 ncs3/nandcs i/o vddiom1 pc15 nwait i/o vddiom1 pc16 d16 i/o vddiom1 pc17 d17 i/o vddiom1 pc18 d18 i/o vddiom1 pc19 d19 i/o vddiom1 pc20 d20 i/o vddiom1 pc21 d21 i/o vddiom1 pc22 d22 i/o vddiom1 pc23 d23 i/o vddiom1 pc24 d24 i/o vddiom1 pc25 d25 i/o vddiom1 pc26 d26 i/o vddiom1 pc27 d27 i/o vddiom1 pc28 d28 i/o vddiom1 pc29 d29 i/o vddiom1 pc30 d30 i/o vddiom1 pc31 d31 i/o vddiom1
44 6438es?atarm?21-jun-10 at91sam9g45 9.4.4 pio controller d multiplexing table 9-5. multiplexing on pi o controller d (piod) i/o line peripheral a peripheral b reset state power supply function comments pd0 tk0 pwm3 i/o vddiop0 pd1 tf0 i/o vddiop0 pd2 td0 i/o vddiop0 pd3 rd0 i/o vddiop0 pd4 rk0 i/o vddiop0 pd5 rf0 i/o vddiop0 pd6 ac97rx i/o vddiop0 pd7 ac97tx tioa5 i/o vddiop0 pd8 ac97fs tiob5 i/o vddiop0 pd9 ac97ck tclk5 i/o vddiop0 pd10 td1 i/o vddiop0 pd11 rd1 i/o vddiop0 pd12 tk1 pck0 i/o vddiop0 pd13 rk1 i/o vddiop0 pd14 tf1 i/o vddiop0 pd15 rf1 i/o vddiop0 pd16 rts1 i/o vddiop0 pd17 cts1 i/o vddiop0 pd18 spi1_npcs2 irq i/o vddiop0 pd19 spi1_npcs3 fiq i/o vddiop0 pd20 tioa0 i/o vddana tsad0 pd21 tioa1 i/o vddana tsad1 pd22 tioa2 i/o vddana tsad2 pd23 tclk0 i/o vddana tsad3 pd24 spi0_npcs1 pwm0 i/o vddana gpad4 pd25 spi0_npcs2 pwm1 i/o vddana gpad5 pd26 pck0 pwm2 i/o vddana gpad6 pd27 pck1 spi0_npcs3 i/o vddana gpad7 pd28 tsadtrg spi1_npcs1 i/o vddiop0 pd29 tclk1 sck1 i/o vddiop0 pd30 tiob0 sck2 i/o vddiop0 pd31 tiob1 pwm1 i/o vddiop0
45 6438es?atarm?21-jun-10 at91sam9g45 9.4.5 pio controller e multiplexing table 9-6. multiplexing on pi o controller e (pioe) i/o line peripheral a peripheral b reset state power supply function comments pe0 lcdpwr pck0 i/o vddiop1 pe1 lcdmod i/o vddiop1 pe2 lcdcc i/o vddiop1 pe3 lcdvsync i/o vddiop1 pe4 lcdhsync i/o vddiop1 pe5 lcddotck i/o vddiop1 pe6 lcdden i/o vddiop1 pe7 lcdd0 lcdd2 i/o vddiop1 pe8 lcdd1 lcdd3 i/o vddiop1 pe9 lcdd2 lcdd4 i/o vddiop1 pe10 lcdd3 lcdd5 i/o vddiop1 pe11 lcdd4 lcdd6 i/o vddiop1 pe12 lcdd5 lcdd7 i/o vddiop1 pe13 lcdd6 lcdd10 i/o vddiop1 pe14 lcdd7 lcdd11 i/o vddiop1 pe15 lcdd8 lcdd12 i/o vddiop1 pe16 lcdd9 lcdd13 i/o vddiop1 pe17 lcdd10 lcdd14 i/o vddiop1 pe18 lcdd11 lcdd15 i/o vddiop1 pe19 lcdd12 lcdd18 i/o vddiop1 pe20 lcdd13 lcdd19 i/o vddiop1 pe21 lcdd14 lcdd20 i/o vddiop1 pe22 lcdd15 lcdd21 i/o vddiop1 pe23 lcdd16 lcdd22 i/o vddiop1 pe24 lcdd17 lcdd23 i/o vddiop1 pe25 lcdd18 i/o vddiop1 pe26 lcdd19 i/o vddiop1 pe27 lcdd20 i/o vddiop1 pe28 lcdd21 i/o vddiop1 pe29 lcdd22 i/o vddiop1 pe30 lcdd23 i/o vddiop1 pe31 pwm2 pck1 i/o vddiop1
46 6438es?atarm?21-jun-10 at91sam9g45 10. embedded peripherals 10.1 serial peripheral interface (spi) ? supports communication with serial external devices ? four chip selects with external decoder support allow communication with up to 15 peripherals ? serial memories, such as dataflash and 3-wire eeproms ? serial peripherals, such as adcs, dacs, lcd controllers, can controllers and sensors ? external co-processors ? master or slave serial peripheral bus interface ? 8- to 16-bit programmable data length per chip select ? programmable phase and polarity per chip select ? programmable transfer delays between consecutive transfers and between clock and data per chip select ? programmable delay between consecutive transfers ? selectable mode fault detection ? very fast transfers supported ? transfers with baud rates up to mck ? the chip select line may be left active to speed up transfers on the same device 10.2 two wire interface (twi) ? compatibility with standard two-wire serial memory ? one, two or three bytes for slave address ? sequential read/write operations ? supports either master or slave modes ? compatible with standard two-wire serial memories ? master, multi-master and slave mode operation ? bit rate: up to 400 kbits ? general call supported in slave mode ? connection to peripheral dma controller (p dc) channel capabilit ies optimizes data transfers in master mode only ? one channel for the receiver, one channel for the transmitter ? next buffer support 10.3 universal synchronous asynchrono us receiver transmitter (usart) ? programmable baud rate generator ? 5- to 9-bit full-duplex synchronous or asynchronous serial communications ? 1, 1.5 or 2 stop bits in asynchronous mode or 1 or 2 stop bits in synchronous mode ? parity generation and error detection ? framing error detection, overrun error detection ? msb- or lsb-first
47 6438es?atarm?21-jun-10 at91sam9g45 ? optional break generation and detection ? by 8 or by-16 over-sampling receiver frequency ? hardware handshaking rts-cts ? receiver time-out and transmitter timeguard ? optional multi-drop mode with address generation and detection ? optional manchester encoding ? rs485 with driver control signal ? iso7816, t = 0 or t = 1 protocols for interfacing with smart cards ? nack handling, error counter with repetition and iteration limit ? irda modulation and demodulation ? communication at up to 115.2 kbps ? test modes ? remote loopback, local loopback, automatic echo 10.4 serial synchronous controller (ssc) ? provides serial synchronous communication links used in audio and telecom applications (with codecs in master or slave modes, i 2 s, tdm buses, magnetic card reader,...) ? contains an independent receiver and transmitter and a common clock divider ? offers a configurable frame sync and data length ? receiver and transmitter can be programmed to start automatically or on detection of different event on the frame sync signal ? receiver and transmitter include a data signal , a clock signal and a frame synchronization signal 10.5 ac97 controller ? compatible with ac97 component specification v2.2 ? capable to interface with a single analog front end ? three independent rx channels and three independent tx channels ? one rx and one tx channel dedicated to the ac97 analog front end control ? one rx and one tx channel for data transfers, associated with a pdc ? one rx and one tx channel for data transfers with no pdc ? time slot assigner allowing to assign up to 12 time slots to a channel ? channels support mono or stereo up to 20 bit sample length ? variable sampling rate ac97 codec interface (48khz and below) 10.6 timer counter (tc) ? three 16-bit timer counter channels ? wide range of functions including: ? frequency measurement ? event counting ? interval measurement ? pulse generation
48 6438es?atarm?21-jun-10 at91sam9g45 ?delay timing ? pulse width modulation ? up/down capabilities ? each channel is user-configurable and contains: ? three external clock inputs ? five internal clock inputs ? two multi-purpose input/output signals ? two global registers that act on all three tc channels 10.7 pulse width modulatio n controller (pwm) ? four channels, one 16-bit counter per channel ? common clock generator, providing thirteen different clocks ? a modulo n counter providing eleven clocks ? two independent linear dividers working on modulo n counter outputs ? independent channel programming ? independent enable disable commands ? independent clock selection ? independent period and duty cycle, with double buffering ? programmable selection of the output waveform polarity ? programmable center or left aligned output waveform 10.8 high speed multimedi a card interface (mci) ? compatibility with multimedia ca rd specification version 4.3 ? compatibility with sd memory ca rd specification version 2.0 ? compatibility with sdio specification version v2.0. ? compatibility with memory stick pro ? compatibility with ce ata 10.9 usb high speed host port (uhphs) ? compliant with enhanced hc i rev 1.0 specification ? compliant with usb v2.0 high-spe ed and full-speed specification ? supports both high-speed 480mbps and full-speed 12 mbps usb devices ? compliant with open hc i rev 1.0 specification ? compliant with usb v2.0 full-s peed and low-speed specification ? supports both low-speed 1.5 mbps and full-speed 12 mbps usb devices ? root hub integrated with 2 downstream usb ports ? shared embedded usb transceivers 10.10 usb high speed device port (udphs) ? usb v2.0 high-speed compliant, 480 mbits per second ? embedded usb v2.0 utmi+ high-speed transceiver shared with uhp hs.
49 6438es?atarm?21-jun-10 at91sam9g45 ? embedded 4-kbyte dual-port ram for endpoints ? embedded 6 channels dma controller ? suspend/resume logic ? up to 2 or 3 banks for isochronous and bulk endpoints ? seven endpoints: ? endpoint 0: 64 bytes, 1 bank mode ? endpoint 1 & 2: 1024 bytes, 2 banks mode, high bandwidth, dma ? endpoint 3 & 4: 1024 bytes, 3 banks mode, dma ? endpoint 5 & 6: 1024 bytes, 3 banks mode, high bandwidth, dma 10.11 lcd controller (lcdc) ? single and dual scan color and monochrome passive stn lcd panels supported ? single scan active tft lcd panels supported. ? 4-bit single scan, 8-bit single or dual scan , 16-bit dual scan stn interfaces supported ? up to 24-bit single scan tft interfaces supported ? up to 16 gray levels for mono stn and up to 4096 colors for color stn displays ? 1, 2 bits per pixel (palletized), 4 bits per pixel (non-palletized) for mono stn ? 1, 2, 4, 8 bits per pixel (palletized), 16 bits per pixel (non-palletized) for color stn ? 1, 2, 4, 8 bits per pixel (palletized), 16, 24 bits per pixel (non-palletized) for tft ? single clock domain architecture ? resolution supported up to 2048 x 2048 10.12 touch screen analog-to-d igital converter (tsadc) ? 8-channel adc ? support 4-wire resistive touch screen ? 10-bit 384 ksamples/sec. successi ve approximation register adc ? -3/+3 lsb integral non linearity, -2/+2 lsb differential non linearity ? integrated 8-to-1 multiplexer, offering eight independent 3.3v analog inputs ? external voltage reference for better accuracy on low voltage inputs ? individual enable and disable of each channel ? multiple trigger sources ? hardware or software trigger ? external trigger pin ? sleep mode and conversion sequencer ? automatic wakeup on trigger and back to sleep mode after conversions of all enabled channels 10.13 ethernet 10/ 100 mac (emac) ? compatibility with ieee standard 802.3 ? 10 and 100 mbits per second data through put capability ? full- and half-duplex operations
50 6438es?atarm?21-jun-10 at91sam9g45 ? mii or rmii interface to the physical layer ? register interface to address, data, status and control registers ? dma interface, operating as a master on the memory controller ? interrupt generation to signal receive and transmit completion ? 128-byte transmit and 128-byte receive fifos ? automatic pad and crc generation on transmitted frames ? address checking logic to recognize four 48-bit addresses ? supports promiscuous mode where all valid frames are copied to memory ? supports physical layer management through mdio interface ? supports wake on lan. the receiver supports wake on lan by detecting the following events on incoming receive frames: ? magic packet ? arp request to the device ip address ? specific address 1 filter match ? multicast hash filter match 10.14 image sensor interface (isi) ? itu-r bt. 601/656 8-bit mode external interface support ? support for itu-r bt.656-4 sav and eav synchronization ? vertical and horizontal resolutions up to 2048 x 2048 ? preview path up to 640*480 ? support for packed data formatting for ycbcr 4:2:2 formats ? preview scaler to generate smaller size image 10.15 8-channel dma (dma) ? acting as two matrix masters ? embeds 8 unidirectional channels with programmable priority ? address generation ? source/destination address programming ? address increment, decrement or no change ? dma chaining support for multiple non-contiguous data blocks through use of linked lists ? scatter support for placing fields into a system memory area from a contiguous transfer. writing a stream of data into non-contiguous fields in system memory ? gather support for extracting fields from a system memory area into a contiguous transfer ? user enabled auto-reloading of source, destination and control registers from initially programmed values at the end of a block transfer ? auto-loading of source, destination and co ntrol registers from system memory at end of block transfer in block chaining mode ? unaligned system address to data transfer width supported in hardware ? channel buffering
51 6438es?atarm?21-jun-10 at91sam9g45 ? 16-word fifo ? automatic packing/unpacking of data to fit fifo width ? channel control ? programmable multiple transaction size for each channel ? support for cleanly disabling a channel without data loss ? suspend dma operation ? programmable dma lock transfer support ? transfer initiation ? support for software handshaking interface. memory mapped registers can be used to control the flow of a dma transfer in place of a hardware handshaking interface ? interrupt ? programmable interrupt generation on dma transfer completion block transfer completion, single/multiple transaction completion or error condition 10.16 true random number generator (trng) ? passed nist special publication 800-22 tests suite ? passed diehard random tests suite ? provides a 32-bit random number every 84 clock cycles ? for 133 mhz clock frequency, throughput close to 50 mbits/s
52 6438es?atarm?21-jun-10 at91sam9g45 11. mechanical characteristics 11.1 package drawings figure 11-1. 324-ball tfbga package drawing
53 6438es?atarm?21-jun-10 at91sam9g45 12. at91sam9g45 ordering information table 12-1. at91sam9g45 ordering information ordering code package package type temperature operating range at91sam9g45-cu tfbga324 green industrial -40c to 85c
54 6438es?atarm?21-jun-10 at91sam9g45 revision history doc. rev comments change request ref. 6438as first issue 6438bs section 3. ?signal description? , table 3-1 in ?reset/test? description, nrst pin updated with note concerning nrst configuration. section 4. ?package and pinout? , table 4-1 , updated. 6600 6669 6438cs introduction: ?features? part was edited. 6715 lfbga replaced by tfbga in ?features? part and section 4.1 ?mechanical overview of the 324-ball tfbga package? rfo section 3. ?signal description? , table 3-1 , touch screen analog-to-digital converter9 part was edited. 6647 vddcore removed from ? ground pins gnd are common to...? sentence in section 5.1 ?power supplies? rfo figure 6.3 was removed. 0x00500000 changed into 0x00400000 in section 7.2.3 ?internal rom? . 6715 6438ds ?two three-channel 16-bit timer/coun ters? peripheral feature changed into ?two three-channel 16-bit timer/counters? . 6828 ecc row added to figure 7-1 ?at91sam9g45 memory mapping? 6842 section 6.2 ?bus matrix? , figure 6-1 ?ddr multi-port? , and text above and below added. 1 row and 1 column added to table 6-3 and table 6-4 . 6797 typos corrected in table 6-6 , table 6-7 , table 9-1 and figure 2-1 : rng --> trng, pwmc --> pwm, ac97 --> ac97c, tsdac --> tsadcc. rfo 6438es section 7.3 ?external memories? reorganized. rfo new figure 11-1 ?324-ball tfbga package drawing? .6954 ?11-layer? --> ?12-layer? in section 6.2 ?bus matrix? .7171 section 10.16 ?true random number generator (trng)? added. 7172
55 6438es?atarm?21-jun-10 at91sam9g45
headquarters international atmel corporation 2325 orchard parkway san jose, ca 95131 usa tel: 1(408) 441-0311 fax: 1(408) 487-2600 atmel asia unit 1-5 & 16, 19/f bea tower, millennium city 5 418 kwun tong road kwun tong, kowloon hong kong tel: (852) 2245-6100 fax: (852) 2722-1369 atmel europe le krebs 8, rue jean-pierre timbaud bp 309 78054 saint-quentin-en- yvelines cedex france tel: (33) 1-30-60-70-00 fax: (33) 1-30-60-71-11 atmel japan 9f, tonetsu shinkawa bldg. 1-24-8 shinkawa chuo-ku, tokyo 104-0033 japan tel: (81) 3-3523-3551 fax: (81) 3-3523-7581 product contact web site www.atmel.com www.atmel.com/at91sam technical support at91sam support atmel techincal support sales contacts www.atmel.com/contacts/ literature requests www.atmel.com/literature disclaimer: the information in this document is prov ided in connection with atmel products. no li cense, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of atmel products. except as set forth in atmel?s terms and condi- tions of sale located on atmel?s web site, atmel assumes no li ability whatsoever and disclaims any express, implied or statutor y warranty relating to its products including, but not limited to, the implied warranty of merchantability, fitness for a particu lar purpose, or non-infringement. in no event shall atmel be liable for any direct, indirect, conseque ntial, punitive, special or i nciden- tal damages (including, without limi tation, damages for loss of profits, business interruption, or loss of information) arising out of the use or inability to use this document, even if at mel has been advised of the possibility of such damages. atmel makes no representations or warranties with respect to the accuracy or completeness of the cont ents of this document and reserves the rig ht to make changes to specifications and product descriptions at any time without notice. atmel does not make any commitment to update the information contained her ein. unless specifically provided otherwise, atmel products are not suitable for, and shall not be used in, automotive applications. atmel?s products are not int ended, authorized, or warranted for use as components in applications in tended to support or sustain life. ? 2010 atmel corporation. all rights reserved. atmel?, atmel logo and combinations thereof, dataflash?, sam-ba? and others are registered trademarks or trademarks of atmel corporation or its subsidiaries . arm?, the armpowered? logo, thumb? and others are the regis tered trademarks or trademarks of arm ltd. windows? and others are r egistered trademarks or trademarks of microsoft corporation in th e us and/or other countries. other terms and product names may be the trademarks of others. 6438es?atarm?21-jun-10


▲Up To Search▲   

 
Price & Availability of AT91SAM9G4510

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X